package club.service;

import club.pojo.Blog;
import com.github.pagehelper.PageInfo;

// 博客服务接口
// 定义了与博客相关的业务操作方法

public interface BlogService {

    /**
     * 分页查询博客（支持按活动时间筛选）
     * @param actionTime 活动时间（格式：yyyy - MM - dd，可为空，为空时查询所有博客）
     * @param pageNum 页码
     * @param pageSize 每页数量
     * @return 分页结果对象，包含符合条件的博客列表及分页信息
     */
    PageInfo<Blog> findAllBlog(String actionTime, Integer pageNum, Integer pageSize);

    /**
     * 添加新博客
     * @param blog 博客对象（需包含博客的相关信息，如标题、内容等）
     * @return 插入成功返回1，失败返回0
     */
    int add(Blog blog);

    /**
     * 根据博客ID查询博客详情
     * @param id 博客ID
     * @return 博客对象，若不存在则返回null
     */
    Blog findById(Integer id);

    /**
     * 更新博客信息
     * @param blog 包含更新字段的博客对象（需包含ID）
     * @return 更新成功返回1，失败返回0
     */
    int updateBlog(Blog blog);

    /**
     * 根据博客ID删除博客
     * @param id 博客ID
     * @return 删除成功返回1，失败返回0
     */
    int del(Integer id);

    /**
     * 分页查询所有博客
     * @param pageNum 页码
     * @param pageSize 每页数量
     * @return 分页结果对象，包含所有博客列表及分页信息
     */
    PageInfo<Blog> blogs(Integer pageNum, Integer pageSize);
}